package day05;

//数组的演示
public class ArrayDemo {
    public static void main(String[] args) {
        /*
        //声明一个整形数组i,包含3个元素,每个元素类型都是int类型,默认值是0
        int[] a = new int[3];
        //声明一个浮点数数组d,包含10个元素,每个元素类型都是double类型,默认值是0.0
        double[] d = new double[10];
        //声明一个布尔类型数组b,包含26个元素,每个元素都是boolean类型,默认值是:false
        boolean[] b = new boolean[26];

        //数组的初始化:初始化数组中的元素
        int[] arr = new int[3];
        int[] arr2 = {2,5,7};
        int [] arr3 = new int[]{2,5,7};
        int[] arr4;
        //arr4 = {2,5,7}编译错误,此方法只能声明的同时初始化
        arr4 = new int[]{2,5,7};//正确

        //数组的访问:访问的是数组中的元素
        int[] arr5 = new int [3];
        System.out.println("数组的长度为:"+arr.length);
        System.out.println("数组的第一个元素为:"+arr[0]);
        arr5[0] = 100;
        arr5[1] = 200;
        arr5[2] = 300;
        //arr[4] = 400;
        System.out.println(arr5[0]);
        System.out.println(arr5[arr5.length-1]);

        //数组的遍历:从头到尾挨个写一遍
        int [] arr6 = new int [3];
        for (int i= 0;i<arr6.length;i++){
            arr[i]=100;
            System.out.println(arr[i]);
        }

         */
        /*
        //数组的复制
        int[] a2 = {10, 20, 30, 40, 50};
        int[] b1 = Arrays.copyOf(a2, 6);

        for (int i = 0; i < b1.length; i++) {
            System.out.println(b1[i]);
        }

         */

        //数组的扩容

        /*
        int[] a = {10,20,30,40,50};
        int[] b = new int[6]; //0,0,0,0,0,0
        //a:源数组
        //1:源数组的起始下标
        //b:目标数组
        //0:目标数组的起始下标
        //4:要复制的元素个数
        System.arraycopy(a,1,b,0,4); //灵活性好
        for(int i=0;i<b.length;i++){
            System.out.println(b[i]);
        }
        */

        /*
        int[] a3 = {10,20,30,40,50};
        int[] b = Arrays.copyOf(a3,6);
        for (int i =0;i<b.length;i++){
            System.out.println(b[i]);
        }

        int[] a = {10,20,30,40,50};
        //a:源数组
        //b:目标数组
        //6:目标数组的长度
        //  --若目标数组长度>源数组长度，则末尾补默认值
        //  --若目标数组长度<源数组长度，则将末尾的截掉
        int[] b = Arrays.copyOf(a,6); //灵活性差
        for(int i=0;i<b.length;i++){
            System.out.println(b[i]);
        }
        */




    }
}
